﻿using CKS2320.Common.Model;
using CKS2320.Common;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Runtime.InteropServices;

namespace CKS2320.Controller.Common.Utils
{
    public static class StringUtils
    {
        public static string GetSetting(string opIP, PLCRunTypeEnum runType, PLCDataType dataType, DataSetting _setting)
        {
            var option = GetRunType(opIP, _setting);
            if (option != null)
            {
                switch (dataType)
                {
                    case PLCDataType.StartUpload:
                        if (runType == PLCRunTypeEnum.A)
                            return option.StartUpLoad_AOffset;
                        else
                            return option.StartUpLoad_BOffset;

                    case PLCDataType.EndUpLoad:
                        if (runType == PLCRunTypeEnum.A)
                            return option.EndUpLoad_AOffset;
                        else
                            return option.EndUpLoad_BOffset;
                        //读取 partcode 
                        //  "PartCode_AOffset": "14",
                        //"PartCode_BOffset": "56",
                    case PLCDataType.PartCode:
                        if (runType == PLCRunTypeEnum.A)
                            return option.PartCode_AOffset;
                        else
                            return option.PartCode_BOffset;

                    case PLCDataType.PartCodeTrigger:
                        if (runType == PLCRunTypeEnum.A)
                            return option.PartCodeTrigger_AOffset;
                        else
                            return option.PartCodeTrigger_BOffset;

                    case PLCDataType.PartCodeResult:
                        if (runType == PLCRunTypeEnum.A)
                            return option.PartCodeResult_AOffset;
                        else
                            return option.PartCodeResult_BOffset;

                    case PLCDataType.Result:
                        if (runType == PLCRunTypeEnum.A)
                            return option.Result_AOffset;
                        else
                            return option.Result_BOffset;

                    case PLCDataType.Heart1:
                        return option.Heart1Offset;
                    case PLCDataType.Heart2:
                        return option.Heart2Offset;

                    case PLCDataType.DetectionDataStart:
                        if (runType == PLCRunTypeEnum.A)
                            return option.DetectionDataStart_AOffset;
                        else
                            return option.DetectionDataStart_BOffset;

                    case PLCDataType.VoltageWithstandResult:
                        if (runType == PLCRunTypeEnum.A)
                            return option.VoltageWithstandResult_AOffset;
                        else
                            return option.VoltageWithstandResult_BOffset;

                    case PLCDataType.CameraDetectionResult:
                        if (runType == PLCRunTypeEnum.A)
                            return option.CameraDetectionResult_AOffset;
                        else
                            return option.CameraDetectionResult_BOffset;

                    case PLCDataType.StartKeyenceOffset:
                        if (runType == PLCRunTypeEnum.A)
                            return option.StartKeyence_AOffset;
                        else
                            return option.StartKeyence_BOffset;

                    case PLCDataType.EndKeyenceOffset:
                        if (runType == PLCRunTypeEnum.A)
                            return option.EndKeyence_AOffset;
                        else
                            return option.EndKeyence_BOffset;

                    case PLCDataType.TotalLengthResult:
                        if (runType == PLCRunTypeEnum.A)
                            return option.TotalLengthResult_AOffset;
                        else
                            return option.TotalLengthResult_BOffset;

                    case PLCDataType.CrsmallEndDistanceResult:
                        if (runType == PLCRunTypeEnum.A)
                            return option.CrsmallEndDistanceResult_AOffset;
                        else
                            return option.CrsmallEndDistanceResult_BOffset;

                    case PLCDataType.CrlargeEndDistanceResult:
                        if (runType == PLCRunTypeEnum.A)
                            return option.CrlargeEndDistanceResult_AOffset;
                        else
                            return option.CrlargeEndDistanceResult_BOffset;

                    case PLCDataType.Crfront1WaveDistanceResult:
                        if (runType == PLCRunTypeEnum.A)
                            return option.Crfront1WaveDistanceResult_AOffset;
                        else
                            return option.Crfront1WaveDistanceResult_BOffset;

                    case PLCDataType.Crfront64WaveDistanceResult:
                        if (runType == PLCRunTypeEnum.A)
                            return option.Crfront64WaveDistanceResult_AOffset;
                        else
                            return option.Crfront64WaveDistanceResult_BOffset;

                    case PLCDataType.FrontThicknessResult1:
                        if (runType == PLCRunTypeEnum.A)
                            return option.FrontThicknessResult1_AOffset;
                        else
                            return option.FrontThicknessResult1_BOffset;
                    case PLCDataType.FrontThicknessResult2:
                        if (runType == PLCRunTypeEnum.A)
                            return option.FrontThicknessResult2_AOffset;
                        else
                            return option.FrontThicknessResult2_BOffset;
                    case PLCDataType.FrontThicknessResult3:
                        if (runType == PLCRunTypeEnum.A)
                            return option.FrontThicknessResult3_AOffset;
                        else
                            return option.FrontThicknessResult3_BOffset;
                    case PLCDataType.FrontThicknessResult4:
                        if (runType == PLCRunTypeEnum.A)
                            return option.FrontThicknessResult4_AOffset;
                        else
                            return option.FrontThicknessResult4_BOffset;
                    case PLCDataType.FrontThicknessResult5:
                        if (runType == PLCRunTypeEnum.A)
                            return option.FrontThicknessResult5_AOffset;
                        else
                            return option.FrontThicknessResult5_BOffset;
                    case PLCDataType.FrontThicknessResult6:
                        if (runType == PLCRunTypeEnum.A)
                            return option.FrontThicknessResult6_AOffset;
                        else
                            return option.FrontThicknessResult6_BOffset;
                    case PLCDataType.FrontThicknessResult7:
                        if (runType == PLCRunTypeEnum.A)
                            return option.FrontThicknessResult7_AOffset;
                        else
                            return option.FrontThicknessResult7_BOffset;
                    case PLCDataType.BackThicknessResult1:
                        if (runType == PLCRunTypeEnum.A)
                            return option.BackThicknessResult1_AOffset;
                        else
                            return option.BackThicknessResult1_BOffset;
                    case PLCDataType.BackThicknessResult2:
                        if (runType == PLCRunTypeEnum.A)
                            return option.BackThicknessResult2_AOffset;
                        else
                            return option.BackThicknessResult2_BOffset;
                    case PLCDataType.BackThicknessResult3:
                        if (runType == PLCRunTypeEnum.A)
                            return option.BackThicknessResult3_AOffset;
                        else
                            return option.BackThicknessResult3_BOffset;
                    case PLCDataType.BackThicknessResult4:
                        if (runType == PLCRunTypeEnum.A)
                            return option.BackThicknessResult4_AOffset;
                        else
                            return option.BackThicknessResult4_BOffset;
                    case PLCDataType.BackThicknessResult5:
                        if (runType == PLCRunTypeEnum.A)
                            return option.BackThicknessResult5_AOffset;
                        else
                            return option.BackThicknessResult5_BOffset;
                    case PLCDataType.BackThicknessResult6:
                        if (runType == PLCRunTypeEnum.A)
                            return option.BackThicknessResult6_AOffset;
                        else
                            return option.BackThicknessResult6_BOffset;
                    case PLCDataType.BackThicknessResult7:
                        if (runType == PLCRunTypeEnum.A)
                            return option.BackThicknessResult7_AOffset;
                        else
                            return option.BackThicknessResult7_BOffset;
                    case PLCDataType.SmallEndDirectionInspectionResult:
                        if (runType == PLCRunTypeEnum.A)
                            return option.SmallEndDirectionInspectionResult_AOffset;
                        else
                            return option.SmallEndDirectionInspectionResult_BOffset;
                    case PLCDataType.FacadeCurvatureResult:
                        if (runType == PLCRunTypeEnum.A)
                            return option.FacadeCurvatureResult_AOffset;
                        else
                            return option.FacadeCurvatureResult_BOffset;
                    case PLCDataType.KeyenceResult:
                        if (runType == PLCRunTypeEnum.A)
                            return option.KeyenceResult_AOffset;
                        else
                            return option.KeyenceResult_BOffset;
                    case PLCDataType.ReadyKeyence:
                        if (runType == PLCRunTypeEnum.A)
                            return option.ReadyKeyence_AOffset;
                        else
                            return option.ReadyKeyence_BOffset;
                    case PLCDataType.Directioncheck:
                        if (runType == PLCRunTypeEnum.A)
                            return option.DirectioncheckA;
                        else
                            return option.DirectioncheckB;
                }
            }
            return "";
        }

        public static dynamic? GetRunType(string opIP, DataSetting _setting)
        {
            if (opIP == PLCOPEnum.OP10.GetDescription())
            {
                return _setting.op10Json;
            }
            if (opIP == PLCOPEnum.OP20.GetDescription())
            {
                return _setting.op20Json;
            }
            if (opIP == PLCOPEnum.OP30.GetDescription())
            {
                return _setting.op30Json;
            }
            return null;
        }

        public static Dictionary<string, int> GetDataType(string opIP)
        {
            Dictionary<string, int> detectionTypeList = new();
            if (opIP == PLCOPEnum.OP10.GetDescription())
            {
                detectionTypeList.Add("水平拱曲度", 1);
                detectionTypeList.Add("水平拱曲度原始数据1", 2);
                detectionTypeList.Add("水平拱曲度原始数据2", 2);
                detectionTypeList.Add("水平拱曲度原始数据3", 2);
                detectionTypeList.Add("水平拱曲度原始数据4", 2);
                detectionTypeList.Add("水平拱曲度原始数据5", 2);
                detectionTypeList.Add("水平拱曲度原始数据6", 2);
                detectionTypeList.Add("水平拱曲度原始数据7", 2);
                detectionTypeList.Add("水平拱曲度原始数据8", 2);
                detectionTypeList.Add("水平拱曲度原始数据9", 2);
                detectionTypeList.Add("水平拱曲度原始数据10", 2);
                detectionTypeList.Add("水平拱曲度原始数据11", 2);
                detectionTypeList.Add("水平拱曲度原始数据12", 2);
                detectionTypeList.Add("水平拱曲度原始数据13", 2);
                detectionTypeList.Add("水平拱曲度原始数据14", 2);
                detectionTypeList.Add("水平拱曲度原始数据15", 2);
                detectionTypeList.Add("水平拱曲度原始数据16", 2);
                detectionTypeList.Add("水平拱曲度原始数据17", 2);
                detectionTypeList.Add("水平拱曲度原始数据18", 2);
                detectionTypeList.Add("水平拱曲度原始数据19", 2);
                detectionTypeList.Add("水平拱曲度原始数据20", 2);
                detectionTypeList.Add("水平拱曲度原始数据21", 2);
                detectionTypeList.Add("水平拱曲度原始数据22", 2);
                detectionTypeList.Add("水平拱曲度原始数据23", 2);
                detectionTypeList.Add("水平拱曲度原始数据24", 2);
                detectionTypeList.Add("水平拱曲度原始数据25", 2);
                detectionTypeList.Add("水平拱曲度原始数据26", 2);
                detectionTypeList.Add("水平拱曲度原始数据27", 2);
                detectionTypeList.Add("水平拱曲度原始数据28", 2);
                detectionTypeList.Add("水平拱曲度原始数据29", 2);
                detectionTypeList.Add("水平拱曲度原始数据30", 2);
                detectionTypeList.Add("水平拱曲度原始数据31", 2);
                detectionTypeList.Add("水平拱曲度原始数据32", 2);
                detectionTypeList.Add("水平拱曲度原始数据33", 2);
                detectionTypeList.Add("水平拱曲度原始数据34", 2);
                detectionTypeList.Add("水平拱曲度原始数据35", 2);
                detectionTypeList.Add("水平拱曲度原始数据36", 2);
                detectionTypeList.Add("水平拱曲度原始数据37", 2);
                detectionTypeList.Add("水平拱曲度原始数据38", 2);
                detectionTypeList.Add("水平拱曲度原始数据39", 2);
                detectionTypeList.Add("水平拱曲度原始数据40", 2);
                detectionTypeList.Add("水平拱曲度原始数据41", 2);
                detectionTypeList.Add("水平拱曲度原始数据42", 2);
                detectionTypeList.Add("水平拱曲度原始数据43", 2);
                detectionTypeList.Add("水平拱曲度原始数据44", 2);
                detectionTypeList.Add("水平拱曲度原始数据45", 2);
                detectionTypeList.Add("水平拱曲度原始数据46", 2);
                detectionTypeList.Add("水平拱曲度原始数据47", 2);
                detectionTypeList.Add("水平拱曲度原始数据48", 2);
                detectionTypeList.Add("水平拱曲度原始数据49", 2);
                detectionTypeList.Add("水平拱曲度原始数据50", 2);
                detectionTypeList.Add("水平拱曲度原始数据51", 2);
                detectionTypeList.Add("水平拱曲度原始数据52", 2);
                detectionTypeList.Add("水平拱曲度原始数据53", 2);
                detectionTypeList.Add("水平拱曲度原始数据54", 2);
                detectionTypeList.Add("水平拱曲度原始数据55", 2);
                detectionTypeList.Add("水平拱曲度原始数据56", 2);
                detectionTypeList.Add("水平拱曲度原始数据57", 2);
                detectionTypeList.Add("水平拱曲度原始数据58", 2);
                detectionTypeList.Add("水平拱曲度原始数据59", 2);
                detectionTypeList.Add("水平拱曲度原始数据60", 2);
                detectionTypeList.Add("水平拱曲度原始数据61", 2);
                detectionTypeList.Add("水平拱曲度原始数据62", 2);
                detectionTypeList.Add("水平拱曲度原始数据63", 2);
                detectionTypeList.Add("水平拱曲度原始数据64", 2);
                detectionTypeList.Add("水平拱曲度原始数据65", 2);
                detectionTypeList.Add("水平拱曲度原始数据66", 2);
                detectionTypeList.Add("水平拱曲度原始数据67", 2);
                detectionTypeList.Add("水平拱曲度原始数据68", 2);
                detectionTypeList.Add("水平拱曲度原始数据69", 2);
                detectionTypeList.Add("水平拱曲度原始数据70", 2);
                detectionTypeList.Add("水平拱曲度原始数据71", 2);
                detectionTypeList.Add("水平拱曲度原始数据72", 2);
                detectionTypeList.Add("水平拱曲度原始数据73", 2);
                detectionTypeList.Add("水平拱曲度原始数据74", 2);
                detectionTypeList.Add("水平拱曲度原始数据75", 2);
            }
            if (opIP == PLCOPEnum.OP20.GetDescription())
            {
                detectionTypeList.Add("DC设定电压", 3);
                detectionTypeList.Add("DC最终电流", 4);
                detectionTypeList.Add("AC设定电压", 5);
                detectionTypeList.Add("AC最终电流", 6);
            }
            if (opIP == PLCOPEnum.OP30.GetDescription())
            {
                detectionTypeList.Add("总长", 10);
                detectionTypeList.Add("C基准-小端距离", 11);
                detectionTypeList.Add("C基准-大端距离", 12);
                detectionTypeList.Add("C基准-正面1波距离", 13);
                detectionTypeList.Add("C基准-正面64波距离", 14);
                detectionTypeList.Add("正面厚度1", 15);
                detectionTypeList.Add("正面厚度2", 15);
                detectionTypeList.Add("正面厚度3", 15);
                detectionTypeList.Add("正面厚度4", 15);
                detectionTypeList.Add("正面厚度5", 15);
                detectionTypeList.Add("正面厚度6", 15);
                detectionTypeList.Add("正面厚度7", 15);
                detectionTypeList.Add("正面厚度8", 15);
                detectionTypeList.Add("背面厚度1", 16);
                detectionTypeList.Add("背面厚度2", 16);
                detectionTypeList.Add("背面厚度3", 16);
                detectionTypeList.Add("背面厚度4", 16);
                detectionTypeList.Add("背面厚度5", 16);
                detectionTypeList.Add("背面厚度6", 16);
                detectionTypeList.Add("背面厚度7", 16);
                detectionTypeList.Add("背面厚度8", 16);
                detectionTypeList.Add("小末端方向检查", 17);
                detectionTypeList.Add("立面拱曲度", 18);
            }
            return detectionTypeList;
        }

        /// <summary>
        /// 获取数据偏移
        /// </summary>
        /// <param name="stationCode">工位代号</param>
        /// <returns></returns>
        public static Dictionary<string, int> GetDataOffset(string stationCode)
        {
            Dictionary<string, int> detectionTypeList = new();
            if (stationCode.ToUpper() == "OP10")
            {
                detectionTypeList.Add("水平拱曲度", 1);
                detectionTypeList.Add("水平拱曲度原始数据1", 2);
                detectionTypeList.Add("水平拱曲度原始数据2", 2);
                detectionTypeList.Add("水平拱曲度原始数据3", 2);
                detectionTypeList.Add("水平拱曲度原始数据4", 2);
                detectionTypeList.Add("水平拱曲度原始数据5", 2);
                detectionTypeList.Add("水平拱曲度原始数据6", 2);
                detectionTypeList.Add("水平拱曲度原始数据7", 2);
                detectionTypeList.Add("水平拱曲度原始数据8", 2);
                detectionTypeList.Add("水平拱曲度原始数据9", 2);
                detectionTypeList.Add("水平拱曲度原始数据10", 2);
                detectionTypeList.Add("水平拱曲度原始数据11", 2);
                detectionTypeList.Add("水平拱曲度原始数据12", 2);
                detectionTypeList.Add("水平拱曲度原始数据13", 2);
                detectionTypeList.Add("水平拱曲度原始数据14", 2);
                detectionTypeList.Add("水平拱曲度原始数据15", 2);
                detectionTypeList.Add("水平拱曲度原始数据16", 2);
                detectionTypeList.Add("水平拱曲度原始数据17", 2);
                detectionTypeList.Add("水平拱曲度原始数据18", 2);
                detectionTypeList.Add("水平拱曲度原始数据19", 2);
                detectionTypeList.Add("水平拱曲度原始数据20", 2);
                detectionTypeList.Add("水平拱曲度原始数据21", 2);
                detectionTypeList.Add("水平拱曲度原始数据22", 2);
                detectionTypeList.Add("水平拱曲度原始数据23", 2);
                detectionTypeList.Add("水平拱曲度原始数据24", 2);
                detectionTypeList.Add("水平拱曲度原始数据25", 2);
                detectionTypeList.Add("水平拱曲度原始数据26", 2);
                detectionTypeList.Add("水平拱曲度原始数据27", 2);
                detectionTypeList.Add("水平拱曲度原始数据28", 2);
                detectionTypeList.Add("水平拱曲度原始数据29", 2);
                detectionTypeList.Add("水平拱曲度原始数据30", 2);
                detectionTypeList.Add("水平拱曲度原始数据31", 2);
                detectionTypeList.Add("水平拱曲度原始数据32", 2);
                detectionTypeList.Add("水平拱曲度原始数据33", 2);
                detectionTypeList.Add("水平拱曲度原始数据34", 2);
                detectionTypeList.Add("水平拱曲度原始数据35", 2);
                detectionTypeList.Add("水平拱曲度原始数据36", 2);
                detectionTypeList.Add("水平拱曲度原始数据37", 2);
                detectionTypeList.Add("水平拱曲度原始数据38", 2);
                detectionTypeList.Add("水平拱曲度原始数据39", 2);
                detectionTypeList.Add("水平拱曲度原始数据40", 2);
                detectionTypeList.Add("水平拱曲度原始数据41", 2);
                detectionTypeList.Add("水平拱曲度原始数据42", 2);
                detectionTypeList.Add("水平拱曲度原始数据43", 2);
                detectionTypeList.Add("水平拱曲度原始数据44", 2);
                detectionTypeList.Add("水平拱曲度原始数据45", 2);
                detectionTypeList.Add("水平拱曲度原始数据46", 2);
                detectionTypeList.Add("水平拱曲度原始数据47", 2);
                detectionTypeList.Add("水平拱曲度原始数据48", 2);
                detectionTypeList.Add("水平拱曲度原始数据49", 2);
                detectionTypeList.Add("水平拱曲度原始数据50", 2);
                detectionTypeList.Add("水平拱曲度原始数据51", 2);
                detectionTypeList.Add("水平拱曲度原始数据52", 2);
                detectionTypeList.Add("水平拱曲度原始数据53", 2);
                detectionTypeList.Add("水平拱曲度原始数据54", 2);
                detectionTypeList.Add("水平拱曲度原始数据55", 2);
                detectionTypeList.Add("水平拱曲度原始数据56", 2);
                detectionTypeList.Add("水平拱曲度原始数据57", 2);
                detectionTypeList.Add("水平拱曲度原始数据58", 2);
                detectionTypeList.Add("水平拱曲度原始数据59", 2);
                detectionTypeList.Add("水平拱曲度原始数据60", 2);
                detectionTypeList.Add("水平拱曲度原始数据61", 2);
                detectionTypeList.Add("水平拱曲度原始数据62", 2);
                detectionTypeList.Add("水平拱曲度原始数据63", 2);
                detectionTypeList.Add("水平拱曲度原始数据64", 2);
                detectionTypeList.Add("水平拱曲度原始数据65", 2);
                detectionTypeList.Add("水平拱曲度原始数据66", 2);
                detectionTypeList.Add("水平拱曲度原始数据67", 2);
                detectionTypeList.Add("水平拱曲度原始数据68", 2);
                detectionTypeList.Add("水平拱曲度原始数据69", 2);
                detectionTypeList.Add("水平拱曲度原始数据70", 2);
                detectionTypeList.Add("水平拱曲度原始数据71", 2);
                detectionTypeList.Add("水平拱曲度原始数据72", 2);
                detectionTypeList.Add("水平拱曲度原始数据73", 2);
                detectionTypeList.Add("水平拱曲度原始数据74", 2);
                detectionTypeList.Add("水平拱曲度原始数据75", 2);
            }
            if (stationCode.ToUpper() == "OP20")
            {
                detectionTypeList.Add("DC设定电压", 3);
                detectionTypeList.Add("DC最终电流", 4);
                detectionTypeList.Add("AC设定电压", 5);
                detectionTypeList.Add("AC最终电流", 6);
            }
            if (stationCode.ToUpper() == "OP30")
            {
                detectionTypeList.Add("总长", 10);
                detectionTypeList.Add("C基准-小端距离", 11);
                detectionTypeList.Add("C基准-大端距离", 12);
                detectionTypeList.Add("C基准-正面1波距离", 13);
                detectionTypeList.Add("C基准-正面64波距离", 14);
                detectionTypeList.Add("正面厚度1", 15);
                detectionTypeList.Add("正面厚度2", 15);
                detectionTypeList.Add("正面厚度3", 15);
                detectionTypeList.Add("正面厚度4", 15);
                detectionTypeList.Add("正面厚度5", 15);
                detectionTypeList.Add("正面厚度6", 15);
                detectionTypeList.Add("正面厚度7", 15);
                detectionTypeList.Add("正面厚度8", 15);
                detectionTypeList.Add("背面厚度1", 16);
                detectionTypeList.Add("背面厚度2", 16);
                detectionTypeList.Add("背面厚度3", 16);
                detectionTypeList.Add("背面厚度4", 16);
                detectionTypeList.Add("背面厚度5", 16);
                detectionTypeList.Add("背面厚度6", 16);
                detectionTypeList.Add("背面厚度7", 16);
                detectionTypeList.Add("背面厚度8", 16);
                detectionTypeList.Add("小末端方向检查", 17);
                detectionTypeList.Add("立面拱曲度", 18);
            }
            return detectionTypeList;
        }

        public static string GetDataDisPlay(string content)
        {
            string result = string.Empty;
            switch (content)
            {
                case "内孔残留1":
                case "内孔残留2":
                    result = "内孔残留"; break;
                case "小端尺寸1":
                case "小端尺寸2":
                    result = "小端尺寸"; break;
                case "正面厚度1":
                case "正面厚度2":
                case "正面厚度3":
                case "正面厚度4":
                case "正面厚度5":
                case "正面厚度6":
                case "正面厚度7":
                case "正面厚度8":
                    result = "正面厚度"; break;
                case "背面厚度1":
                case "背面厚度2":
                case "背面厚度3":
                case "背面厚度4":
                case "背面厚度5":
                case "背面厚度6":
                case "背面厚度7":
                case "背面厚度8":
                    result = "背面厚度"; break;
                case "水平拱曲度原始数据1":
                case "水平拱曲度原始数据2":
                case "水平拱曲度原始数据3":
                case "水平拱曲度原始数据4":
                case "水平拱曲度原始数据5":
                case "水平拱曲度原始数据6":
                case "水平拱曲度原始数据7":
                case "水平拱曲度原始数据8":
                case "水平拱曲度原始数据9":
                case "水平拱曲度原始数据10":
                case "水平拱曲度原始数据11":
                case "水平拱曲度原始数据12":
                case "水平拱曲度原始数据13":
                case "水平拱曲度原始数据14":
                case "水平拱曲度原始数据15":
                case "水平拱曲度原始数据16":
                case "水平拱曲度原始数据17":
                case "水平拱曲度原始数据18":
                case "水平拱曲度原始数据19":
                case "水平拱曲度原始数据20":
                case "水平拱曲度原始数据21":
                case "水平拱曲度原始数据22":
                case "水平拱曲度原始数据23":
                case "水平拱曲度原始数据24":
                case "水平拱曲度原始数据25":
                case "水平拱曲度原始数据26":
                case "水平拱曲度原始数据27":
                case "水平拱曲度原始数据28":
                case "水平拱曲度原始数据29":
                case "水平拱曲度原始数据30":
                case "水平拱曲度原始数据31":
                case "水平拱曲度原始数据32":
                case "水平拱曲度原始数据33":
                case "水平拱曲度原始数据34":
                case "水平拱曲度原始数据35":
                case "水平拱曲度原始数据36":
                case "水平拱曲度原始数据37":
                case "水平拱曲度原始数据38":
                case "水平拱曲度原始数据39":
                case "水平拱曲度原始数据40":
                case "水平拱曲度原始数据41":
                case "水平拱曲度原始数据42":
                case "水平拱曲度原始数据43":
                case "水平拱曲度原始数据44":
                case "水平拱曲度原始数据45":
                case "水平拱曲度原始数据46":
                case "水平拱曲度原始数据47":
                case "水平拱曲度原始数据48":
                case "水平拱曲度原始数据49":
                case "水平拱曲度原始数据50":
                case "水平拱曲度原始数据51":
                case "水平拱曲度原始数据52":
                case "水平拱曲度原始数据53":
                case "水平拱曲度原始数据54":
                case "水平拱曲度原始数据55":
                case "水平拱曲度原始数据56":
                case "水平拱曲度原始数据57":
                case "水平拱曲度原始数据58":
                case "水平拱曲度原始数据59":
                case "水平拱曲度原始数据60":
                case "水平拱曲度原始数据61":
                case "水平拱曲度原始数据62":
                case "水平拱曲度原始数据63":
                case "水平拱曲度原始数据64":
                case "水平拱曲度原始数据65":
                case "水平拱曲度原始数据66":
                case "水平拱曲度原始数据67":
                case "水平拱曲度原始数据68":
                case "水平拱曲度原始数据69":
                case "水平拱曲度原始数据70":
                case "水平拱曲度原始数据71":
                case "水平拱曲度原始数据72":
                case "水平拱曲度原始数据73":
                case "水平拱曲度原始数据74":
                case "水平拱曲度原始数据75":
                case "水平拱曲度原始数据76":
                case "水平拱曲度原始数据77":
                case "水平拱曲度原始数据78":
                case "水平拱曲度原始数据79":
                case "水平拱曲度原始数据80":
                case "水平拱曲度原始数据81":
                case "水平拱曲度原始数据82":
                case "水平拱曲度原始数据83":
                case "水平拱曲度原始数据84":
                    result = "水平拱曲度原始数据"; break;
                case "正面波直径1":
                case "正面波直径2":
                case "正面波直径3":
                case "正面波直径4":
                case "正面波直径5":
                case "正面波直径6":
                case "正面波直径7":
                case "正面波直径8":
                case "正面波直径9":
                case "正面波直径10":
                case "正面波直径11":
                case "正面波直径12":
                case "正面波直径13":
                case "正面波直径14":
                case "正面波直径15":
                case "正面波直径16":
                case "正面波直径17":
                case "正面波直径18":
                case "正面波直径19":
                case "正面波直径20":
                case "正面波直径21":
                case "正面波直径22":
                case "正面波直径23":
                case "正面波直径24":
                case "正面波直径25":
                case "正面波直径26":
                case "正面波直径27":
                case "正面波直径28":
                case "正面波直径29":
                case "正面波直径30":
                case "正面波直径31":
                case "正面波直径32":
                case "正面波直径33":
                case "正面波直径34":
                case "正面波直径35":
                case "正面波直径36":
                case "正面波直径37":
                case "正面波直径38":
                case "正面波直径39":
                case "正面波直径40":
                case "正面波直径41":
                case "正面波直径42":
                case "正面波直径43":
                case "正面波直径44":
                case "正面波直径45":
                case "正面波直径46":
                case "正面波直径47":
                case "正面波直径48":
                case "正面波直径49":
                case "正面波直径50":
                case "正面波直径51":
                case "正面波直径52":
                case "正面波直径53":
                case "正面波直径54":
                case "正面波直径55":
                case "正面波直径56":
                case "正面波直径57":
                case "正面波直径58":
                case "正面波直径59":
                case "正面波直径60":
                case "正面波直径61":
                case "正面波直径62":
                case "正面波直径63":
                case "正面波直径64":
                case "正面波直径65":
                case "正面波直径66":
                case "正面波直径67":
                case "正面波直径68":
                case "正面波直径69":
                case "正面波直径70":
                case "正面波直径71":
                case "正面波直径72":
                case "正面波直径73":
                case "正面波直径74":
                case "正面波直径75":
                case "正面波直径76":
                case "正面波直径77":
                case "正面波直径78":
                case "正面波直径79":
                case "正面波直径80":
                case "正面波直径81":
                case "正面波直径82":
                case "正面波直径83":
                case "正面波直径84":
                    result = "正面波直径"; break;
                case "背面波直径1":
                case "背面波直径2":
                case "背面波直径3":
                case "背面波直径4":
                case "背面波直径5":
                case "背面波直径6":
                case "背面波直径7":
                case "背面波直径8":
                case "背面波直径9":
                case "背面波直径10":
                case "背面波直径11":
                case "背面波直径12":
                case "背面波直径13":
                case "背面波直径14":
                case "背面波直径15":
                case "背面波直径16":
                case "背面波直径17":
                case "背面波直径18":
                case "背面波直径19":
                case "背面波直径20":
                case "背面波直径21":
                case "背面波直径22":
                case "背面波直径23":
                case "背面波直径24":
                case "背面波直径25":
                case "背面波直径26":
                case "背面波直径27":
                case "背面波直径28":
                case "背面波直径29":
                case "背面波直径30":
                case "背面波直径31":
                case "背面波直径32":
                case "背面波直径33":
                case "背面波直径34":
                case "背面波直径35":
                case "背面波直径36":
                case "背面波直径37":
                case "背面波直径38":
                case "背面波直径39":
                case "背面波直径40":
                case "背面波直径41":
                case "背面波直径42":
                case "背面波直径43":
                case "背面波直径44":
                case "背面波直径45":
                case "背面波直径46":
                case "背面波直径47":
                case "背面波直径48":
                case "背面波直径49":
                case "背面波直径50":
                case "背面波直径51":
                case "背面波直径52":
                case "背面波直径53":
                case "背面波直径54":
                case "背面波直径55":
                case "背面波直径56":
                case "背面波直径57":
                case "背面波直径58":
                case "背面波直径59":
                case "背面波直径60":
                case "背面波直径61":
                case "背面波直径62":
                case "背面波直径63":
                case "背面波直径64":
                case "背面波直径65":
                case "背面波直径66":
                case "背面波直径67":
                case "背面波直径68":
                case "背面波直径69":
                case "背面波直径70":
                case "背面波直径71":
                case "背面波直径72":
                case "背面波直径73":
                case "背面波直径74":
                case "背面波直径75":
                case "背面波直径76":
                case "背面波直径77":
                case "背面波直径78":
                case "背面波直径79":
                case "背面波直径80":
                case "背面波直径81":
                case "背面波直径82":
                case "背面波直径83":
                case "背面波直径84":
                    result = "背面波直径"; break;
                case "正面波间距1":
                case "正面波间距2":
                case "正面波间距3":
                case "正面波间距4":
                case "正面波间距5":
                case "正面波间距6":
                case "正面波间距7":
                case "正面波间距8":
                case "正面波间距9":
                case "正面波间距10":
                case "正面波间距11":
                case "正面波间距12":
                case "正面波间距13":
                case "正面波间距14":
                case "正面波间距15":
                case "正面波间距16":
                case "正面波间距17":
                case "正面波间距18":
                case "正面波间距19":
                case "正面波间距20":
                case "正面波间距21":
                case "正面波间距22":
                case "正面波间距23":
                case "正面波间距24":
                case "正面波间距25":
                case "正面波间距26":
                case "正面波间距27":
                case "正面波间距28":
                case "正面波间距29":
                case "正面波间距30":
                case "正面波间距31":
                case "正面波间距32":
                case "正面波间距33":
                case "正面波间距34":
                case "正面波间距35":
                case "正面波间距36":
                case "正面波间距37":
                case "正面波间距38":
                case "正面波间距39":
                case "正面波间距40":
                case "正面波间距41":
                case "正面波间距42":
                case "正面波间距43":
                case "正面波间距44":
                case "正面波间距45":
                case "正面波间距46":
                case "正面波间距47":
                case "正面波间距48":
                case "正面波间距49":
                case "正面波间距50":
                case "正面波间距51":
                case "正面波间距52":
                case "正面波间距53":
                case "正面波间距54":
                case "正面波间距55":
                case "正面波间距56":
                case "正面波间距57":
                case "正面波间距58":
                case "正面波间距59":
                case "正面波间距60":
                case "正面波间距61":
                case "正面波间距62":
                case "正面波间距63":
                case "正面波间距64":
                case "正面波间距65":
                case "正面波间距66":
                case "正面波间距67":
                case "正面波间距68":
                case "正面波间距69":
                case "正面波间距70":
                case "正面波间距71":
                case "正面波间距72":
                case "正面波间距73":
                case "正面波间距74":
                case "正面波间距75":
                case "正面波间距76":
                case "正面波间距77":
                case "正面波间距78":
                case "正面波间距79":
                case "正面波间距80":
                case "正面波间距81":
                case "正面波间距82":
                case "正面波间距83":
                case "正面波间距84":
                    result = "正面波间距"; break;
                case "背面波间距1":
                case "背面波间距2":
                case "背面波间距3":
                case "背面波间距4":
                case "背面波间距5":
                case "背面波间距6":
                case "背面波间距7":
                case "背面波间距8":
                case "背面波间距9":
                case "背面波间距10":
                case "背面波间距11":
                case "背面波间距12":
                case "背面波间距13":
                case "背面波间距14":
                case "背面波间距15":
                case "背面波间距16":
                case "背面波间距17":
                case "背面波间距18":
                case "背面波间距19":
                case "背面波间距20":
                case "背面波间距21":
                case "背面波间距22":
                case "背面波间距23":
                case "背面波间距24":
                case "背面波间距25":
                case "背面波间距26":
                case "背面波间距27":
                case "背面波间距28":
                case "背面波间距29":
                case "背面波间距30":
                case "背面波间距31":
                case "背面波间距32":
                case "背面波间距33":
                case "背面波间距34":
                case "背面波间距35":
                case "背面波间距36":
                case "背面波间距37":
                case "背面波间距38":
                case "背面波间距39":
                case "背面波间距40":
                case "背面波间距41":
                case "背面波间距42":
                case "背面波间距43":
                case "背面波间距44":
                case "背面波间距45":
                case "背面波间距46":
                case "背面波间距47":
                case "背面波间距48":
                case "背面波间距49":
                case "背面波间距50":
                case "背面波间距51":
                case "背面波间距52":
                case "背面波间距53":
                case "背面波间距54":
                case "背面波间距55":
                case "背面波间距56":
                case "背面波间距57":
                case "背面波间距58":
                case "背面波间距59":
                case "背面波间距60":
                case "背面波间距61":
                case "背面波间距62":
                case "背面波间距63":
                case "背面波间距64":
                case "背面波间距65":
                case "背面波间距66":
                case "背面波间距67":
                case "背面波间距68":
                case "背面波间距69":
                case "背面波间距70":
                case "背面波间距71":
                case "背面波间距72":
                case "背面波间距73":
                case "背面波间距74":
                case "背面波间距75":
                case "背面波间距76":
                case "背面波间距77":
                case "背面波间距78":
                case "背面波间距79":
                case "背面波间距80":
                case "背面波间距81":
                case "背面波间距82":
                case "背面波间距83":
                case "背面波间距84":
                    result = "背面波间距"; break;
                default: result = content; break;
            }
            return result;
        }
    }
}
